package com.ruoyi.tsjData.service.impl;

import java.util.List;

import com.ruoyi.common.config.RuoYiConfig;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ProcessPictureUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.tsjData.domain.result.DataTshjTyxnResult;
import com.ruoyi.tsjData.mapper.DataTshjTyxnResultMapper;
import com.ruoyi.tsjData.service.IDataTshjTyxnResultService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;


/**
 * 提升机-调压性能测试结果Service业务层处理
 * 
 * @author ruoyi
 * @date 2023-11-07
 */
@Service
public class DataTshjTyxnResultServiceImpl implements IDataTshjTyxnResultService
{
    @Autowired(required = false)
    private DataTshjTyxnResultMapper dataTshjTyxnResultMapper;

    /**
     * 查询提升机-调压性能测试结果
     * 
     * @param tyxnId 提升机-调压性能测试结果主键
     * @return 提升机-调压性能测试结果
     */
    @Override
    public DataTshjTyxnResult selectDataTshjTyxnResultByTyxnId(Long tyxnId)
    {
        return dataTshjTyxnResultMapper.selectDataTshjTyxnResultByTyxnId(tyxnId);
    }

    /**
     * 查询提升机-调压性能测试结果列表
     * 
     * @param dataTshjTyxnResult 提升机-调压性能测试结果
     * @return 提升机-调压性能测试结果
     */
    @Override
    public List<DataTshjTyxnResult> selectDataTshjTyxnResultList(DataTshjTyxnResult dataTshjTyxnResult)
    {
        return dataTshjTyxnResultMapper.selectDataTshjTyxnResultList(dataTshjTyxnResult);
    }

    /**
     * 根据任务id查询调压性能结果
     * @param dataTaskId
     * @return
     */
    @Override
    public List<DataTshjTyxnResult> selectDataTshjTyxnResultByDataTaskId(Long dataTaskId, Long dataResultId) {
        return dataTshjTyxnResultMapper.selectDataTshjTyxnResultByDataTaskId(dataTaskId, dataResultId);
    }

    /**
     * 新增提升机-调压性能测试结果
     * 
     * @param dataTshjTyxnResult 提升机-调压性能测试结果
     * @return 结果
     */
    @Override
    public int insertDataTshjTyxnResult(DataTshjTyxnResult dataTshjTyxnResult)
    {
        dataTshjTyxnResult.setCreateTime(DateUtils.getNowDate());
        String rootPath = RuoYiConfig.getProfile() + RuoYiConfig.getChartPath() + "/";
        //时间油压图路径
        String sjyyImg = System.currentTimeMillis() + "-时间油压图.png";
        //电流电压油压图路径
        String dldyyyImg = System.currentTimeMillis() + "-电流电压油压图.png";
        //svg转png
        if(StringUtils.isNotEmpty(dataTshjTyxnResult.getSjyySvg())) {
            ProcessPictureUtils.convertToPng(dataTshjTyxnResult.getSjyySvg(), rootPath + dataTshjTyxnResult.getDataTaskId() + "/" + sjyyImg);
            dataTshjTyxnResult.setSjyyImg("/profile/chartPath/" + dataTshjTyxnResult.getDataTaskId() + "/" + sjyyImg);
        }
        if(StringUtils.isNotEmpty(dataTshjTyxnResult.getDldyyySvg())) {
            ProcessPictureUtils.convertToPng(dataTshjTyxnResult.getDldyyySvg(), rootPath + dataTshjTyxnResult.getDataTaskId() + "/"  + dldyyyImg);
            dataTshjTyxnResult.setDldyyyImg("/profile/chartPath/" + dataTshjTyxnResult.getDataTaskId() + "/"  + dldyyyImg);
        }
        return dataTshjTyxnResultMapper.insertDataTshjTyxnResult(dataTshjTyxnResult);
    }

    /**
     * 修改提升机-调压性能测试结果
     * 
     * @param dataTshjTyxnResult 提升机-调压性能测试结果
     * @return 结果
     */
    @Override
    public int updateDataTshjTyxnResult(DataTshjTyxnResult dataTshjTyxnResult)
    {
        dataTshjTyxnResult.setUpdateTime(DateUtils.getNowDate());
        return dataTshjTyxnResultMapper.updateDataTshjTyxnResult(dataTshjTyxnResult);
    }

    /**
     * 批量删除提升机-调压性能测试结果
     * 
     * @param tyxnIds 需要删除的提升机-调压性能测试结果主键
     * @return 结果
     */
    @Override
    public int deleteDataTshjTyxnResultByTyxnIds(Long[] tyxnIds)
    {
        return dataTshjTyxnResultMapper.deleteDataTshjTyxnResultByTyxnIds(tyxnIds);
    }

    /**
     * 删除提升机-调压性能测试结果信息
     * 
     * @param tyxnId 提升机-调压性能测试结果主键
     * @return 结果
     */
    @Override
    public int deleteDataTshjTyxnResultByTyxnId(Long tyxnId)
    {
        return dataTshjTyxnResultMapper.deleteDataTshjTyxnResultByTyxnId(tyxnId);
    }
}
